package com.meatball.dji.common.mqtt.handler.request.data.vo

import com.alibaba.fastjson2.annotation.JSONField

/**
 * TODO 设备绑定到组织返回参数
 *
 * @see com.meatball.dji.common.mqtt.data.model.ConfigModel
 *
 * @author 张翔宇
 * @since 2024年4月23日
 */
data class OrganizationBindReplyParams(
    val tid: String,
    val bid: String,
    val timestamp: Long = System.currentTimeMillis(),
    val gateway: String,
    val method: String,
    val data: Data
) {
    /**
     * TODO 数据类
     *
     * @property result
     * @property output
     */
    data class Data(
        val result: Int = 0,
        val output: Output
    ) {
        /**
         * TODO
         *
         * @property errInfos 错误信息
         *      {"size": "2"}
         */
        data class Output(
            @field:JSONField(name = "err_infos")
            val errInfos: List<ErrInfos>
        ) {
            /**
             * TODO 错误信息
             *
             * @property sn 设备序列号
             * @property errCode 错误码
             *      自定义，非 0 表示绑定不成功
             */
            data class ErrInfos(
                val sn: String,
                @field:JSONField(name = "err_code")
                val errCode: Int = 0
            )
        }
    }
}
